//https://api.dartlang.org/stable/2.2.0/dart-core/Iterable-class.html
//关于参数中的E T---type,E----Element  K----key, V----value 
main(){
  Iterable iter={'a','b','c'};//dart2.1报错？？
  for (var i in iter){
    //print(i);
  }
  /*打印
  a
  b
  c 
  */


//*****属性*********
//first → E  --返回第一个元素
iter.first;//a
  
//isEmpty → bool   --判断是否为空
//略

//isNotEmpty → bool ----判断是否为空
//略

//last → E --返回最后一个元素
iter.last;//C

//length → int --返回元素个数
//略



//*****方法**********
//any(bool test(E element)) → bool     --???

//cast<R>() → Iterable<R>  --??

//contains(Object element) → bool --是否包含某元素
iter.contains('e');//true

//elementAt(int index) → E  --返回指定位置元素
iter.elementAt(2);//c

//every(bool test(E element)) → bool  --??

//expand<T>(Iterable<T> f(E element)) → Iterable<T> --??

//firstWhere(bool test(E element), { E orElse() }) → E --??

//fold<T>(T initialValue, T combine(T previousValue, E element)) → T --??

//followedBy(Iterable<E> other) → Iterable<E> --??

//forEach(void f(E element)) → void --??

//join([String separator = "" ]) → String --??

//lastWhere(bool test(E element), { E orElse() }) → E --??

// map<T>(T f(E e)) → Iterable<T> --??

//reduce(E combine(E value, E element)) → E --??

//singleWhere(bool test(E element), { E orElse() }) → E --??

//skip(int count) → Iterable<E>

//skipWhile(bool test(E value)) → Iterable<E> --??

//take(int count) → Iterable<E>

//takeWhile(bool test(E value)) → Iterable<E> --??

//toList({bool growable: true }) → List<E> --??

//toSet() → Set<E> --??

//toString() → String  --??

//where(bool test(E element)) → Iterable<E>  --??

//whereType<T>() → Iterable<T>  --??

print(iter.elementAt(2));
}
